# ----歌手大赛----
# 为丰富校园文化生活，学校拟组织一场歌手大赛，从参赛选手中选拔出10名相对突出的学生，授予“校园十大歌手”称号。
# 比赛设有评委组，每名选手演唱完毕后会由评委组的10名评委打分。
# 为保证比赛公平公正、防止作弊和恶意打分，计算得分（即打分的平均分）时会先去掉最高分和最低分。
# 本案例要求编写程序，实现根据需求计算每位选手得分的功能。
# print('1：小张','2：小赵','3：小王','4：小孙','5：小李','6：小韩','7：小孙','8：小刘','9：小吴','10：小花','11：小兰','12：小白')
# student_list=['小张','小赵','小王','小孙','小李','小韩','小孙','小刘','小吴','小花','小兰','小白']
# xs=int(input("选手号："))-1
# xs2=(print(student_list[xs]))
# cj=[]
# for i in range(10):
#     df=int(input(f"请输入第{i+1}位评委的打分："))
#     cj.append(df)
# cj.remove(max(cj))
# cj.remove(min(cj))
# avg=sum(cj)/8
# xs2=(print(student_list[xs],end=''))
# print(f"选手的平均分为：{avg}")

# ----登录函数----
# 编写一个用户登录逻辑，用户名密码提前设置（列表嵌套字典存储），返回用户登录成功或者失败的结果。

# user1 = {'id':'1001','username':'zhangsan','password':'123'}
# user2 = {'id':'1002','username':'lisi','password':'123'}
# user3 = {'id':'1003','username':'wangwu','password':'123'}
# user_list = [user1,user2,user3]
#
# tag = 0
# name = input('请输入你的用户名：')
# pwd = input('请输入你的密码：')
# for user in user_list:
#     if name == user['username'] and pwd == user['password']:
#         tag = 1
#         break
# if tag == 1:
#     print('登录成功')
# else:
#     print('登录失败')

# 练习：
# ----超市收银机----
# 为一家超市开发一个收银系统(以3-5种商品为例):
# 使用变量保存：商品编号 商品价格 商品名字
#   1.提示用户输入商品编号和数量,然后显示总价多少钱。
#   2.提示用户输入付款金额,然后显示找零金额。

# goods1 = {"id":"01","money":3,"name":"大米"}
# goods2 = {"id":"02","money":4,"name":"食用油"}
# goods3 = {"id":"03","money":5,"name":"面粉"}
# goods=[goods1,goods2,goods3]
# id=input("请输入商品编号：")
# number=int(input("请输入购买的数量："))
# price = 0
# name=''
# for i in goods:
#     if id ==i["id"]:
#         name=i['name']
#         money = i['money']
#         price=1
#         break
# if price == 1:
#     amount = money * number  # 计算商品金额
#     print("****您当前购买的是：", name, "，单价：", money, "元，规格：", number, "袋，金额：", amount, "元！")
#     money = float(input("请输入付款金额："))
#     if money < amount:
#         print("金额不足！")
#     else:
#         print("****付款", money, "元！找零", money - amount, "元！")
# else:
#     print("没有此商品")

# 冒泡排序
# nums = [5, 4, 2, 3, 1]
# for i in range(len(nums) - 1):  # 外层代表排几轮
#     for j in range(len(nums) - 1 - i):  # 一轮比较几次
#         if nums[j] > nums[j + 1]:
#             # temp = nums[j]
#             # nums[j] = nums[j + 1]
#             # nums[j + 1] = temp
#             nums[j], nums[j + 1] = nums[j + 1], nums[j]
# print(nums)

# ----银行ATM----
# 银行ATM存款取款：
# 1.模拟3张银行卡,1001,1002,1003,分别设置密码和余额(使用列表嵌套字典的方式)；
# 2.提示用户输入银行卡和密码，遍历每张卡的信息验证是否成功；
# 3.如果用户输入正确---提示让用户选择取款.存款还是退出,并提示余额多少.  输入错误---重新输入卡号密码；
#   选择取款---提示输入取款额度,如果超过余额,提示余额不足;否则,在余额上减掉相应金额；
#   选择存款---输入存款额度,余额加上相应额度,并提示余额多少；
#   选择退出---重新登录；
# 4.连续3次输入错误账号密码,提示银行卡已被锁定，程序结束。
# print("="*20+"银行ATM"+"="*20)
# block1 = {'id':'1001','password':123456,'balance':11888}
# block2 = {'id':'1002','password':123456,'balance':8888}
# block3 = {'id':'1003','password':123456,'balance':9500}
# block_list=[block1,block2,block3]
# count = 0
# while count < 3:
#     id=input("请输入银行卡号:")
#     pwd=int(input("请输入密码:"))
#     price=0
#     for block in block_list:
#         if id==block['id'] and pwd == block['password']:
#             bal:float=block['balance']
#             price=1
#             break
#     if price==1:
#         print(f"您的余额为：{bal}")
#         while True:
#             number = int(input("请选择1：取款、2：存款、3：退出" + '\n'))
#             if number ==1:
#                 qu = int(input("请输入金额："))
#                 if qu > bal:
#                     print("余额不足！")
#                 else:
#                     print(f"您的余额为:{bal - qu}")
#
#             elif number == 2:
#                 cun = int(input("请输入金额："))
#                 print(f"您的余额为：{bal + cun}")
#             else:
#                 print('欢迎下次光临！')
#                 break
#     else:
#         count += 1
#         print('密码错误，剩余尝试次数：', 3 - count)
# if count >= 3:
#     print('您的银行卡已被锁定，请去柜台解锁银行卡！')



